============================================================== Guild: wafer.space Community Channel: ℹ️ - Information / general Topic: Welcome to [wafer.space](https://wafer.space/) - documentation at [wafer.space github](https://github.com/wafer-space) - buy at [buy.wafer.space](https://buy.wafer.space) - archives at [discord.wafer.space](https://discord.wafer.space/) After: 2026-02-28 11:59 p.m. Before: 2026-04-01 12:00 a.m. ============================================================== [2026-03-01 10:19 p.m.] mithro_ @Leo Moser (mole99) - I like to describe wafer.space as a "Low volume silicon manufacturing." rather than a "MPW service" -- MPW has a bunch of ideas / connotations associated with it that I would like to get away from. {Reactions} 💯 (2) [2026-03-01 10:27 p.m.] mithro_ I really would like people to stop thinking of wafer.space for "prototyping" and think of it more as "I need 1,000 chips manufactured" {Reactions} 💯 (3) waferspace [2026-03-02 8:38 a.m.] mole99 Alright, I'll keep that in mind! [2026-03-02 7:17 p.m.] 246tnt Any admin to ban this clown ? {Reactions} 👍 [2026-03-03 12:09 a.m.] tannewt 👋 {Reactions} 👋 (3) [2026-03-05 4:04 p.m.] tholin So I get to see soon what my dies look like? Many more weeks before I get to find out if they work, but seeing what they look like on the wafer will be exciting already. [2026-03-06 4:52 a.m.] .pogeg hello! [2026-03-06 9:21 a.m.] mole99 Started a thread. [2026-03-06 4:59 p.m.] carlfk it is the only sensible way to get qty:1000 right? [2026-03-06 7:33 p.m.] .pogeg hmm is there no way to use Verilator when simulating sram with foundry provided sram IPs? [2026-03-06 7:34 p.m.] .pogeg [2026-03-06 7:34 p.m.] .pogeg looking at this rn. [2026-03-09 3:03 a.m.] mithro_ New video from @BreakingTaps - https://www.youtube.com/watch?v=y_SEZJPieWc {Embed} Breaking Taps https://www.youtube.com/watch?v=y_SEZJPieWc Channel Update: Custom Silicon and Cubesats I'm still alive! Been working on a few things, and planning out new projects https://wafer.space/ is the MPW shuttle I used. 🥰 CONSIDER SUBSCRIBING 🥰 🔬Patreon if that's your jam: https://www.patreon.com/breakingtaps 📢Twitter: https://twitter.com/BreakingTaps 🦋Bluesky: https://bsky.app/profile/breakingtaps.com 🐘Mastodon: h... 2026-03_media/maxresdefault-60F98.jpg {Reactions} 💯 (3) 💜 (3) [2026-03-09 4:43 p.m.] polyfractal more to come once the chips are here! stoked to dive deep into all the details 🙂 {Reactions} ❤️ (7) 👍 (2) [2026-03-12 9:15 a.m.] tholin I used a custom padframe. Does that mean I get to submit my own gerber of a COB breakout? I have one prepared. The component placement is the exact same, just the routing is different. [2026-03-12 11:08 p.m.] mithro_ Hopefully things arrive before the end of April, so you haven't got that long to wait! [2026-03-12 11:09 p.m.] mithro_ For the first shuttle we can probably make this happen, can you add a note with this information to the Google Form submission? [2026-03-12 11:10 p.m.] polyfractal sooner than I was expecting! figured we still had a while 🙂 Regarding the form, if I select `n` number of bare die is it assumed the rest will be COB mounted? [2026-03-12 11:20 p.m.] tholin Done [2026-03-12 11:22 p.m.] mithro_ You should be able to select options in both columns? [2026-03-12 11:23 p.m.] polyfractal I can, they just don't add up to 1000 so I wasn't sure which took precedence 🙂 [2026-03-14 10:08 p.m.] mithro_ @Tholin / @Tim Edwards - Anything interesting in the paper @ https://ieeexplore.ieee.org/abstract/document/11420759/ for potentially generating new standard cell libraries for gf180mcu? [2026-03-14 10:16 p.m.] tholin Why would I generate standard cell layouts? Why would I skip the fun part? {Reactions} ❤️ [2026-03-14 10:16 p.m.] tholin Its everything else after that that I’m trying to automate. I want to set up a whole CI pipeline for characterization and liberty file generation. [2026-03-14 10:17 p.m.] tholin I already have one for generating all the other output formats from the .mags [2026-03-14 11:40 p.m.] ravenslofty To me at least, while it's certainly fun to make cell layouts, it'd ease the bootstrapping of "having an initial cell library to then improve on". Even when hand-drawing cells I ended up macroing the living daylights out of it anyway for exactly the reason of "trying to have something now" ^^; [2026-03-18 1:38 a.m.] mithro_ I asked Claude.ai to look at the ws-run1 reticle and examine the various standard cell / transistor densities -- this is what it came up with https://github.com/wafer-space/ws-run1/blob/density-report/reticle_density_report.md which seems somewhat plausible. The raw data it calculated is found at https://github.com/wafer-space/ws-run1/tree/density-report Would love some independent verification if it got things totally wrong. I tried to make it include all it's sources and methodology. {Embed} https://github.com/wafer-space/ws-run1/blob/density-report/reticle_density_report.md ws-run1/reticle_density_report.md at density-report · wafer-space/... wafer.space GF180MCU Run 1. Contribute to wafer-space/ws-run1 development by creating an account on GitHub. 2026-03_media/ws-run1-C5D8B {Embed} https://github.com/wafer-space/ws-run1/tree/density-report GitHub - wafer-space/ws-run1 at density-report wafer.space GF180MCU Run 1. Contribute to wafer-space/ws-run1 development by creating an account on GitHub. 2026-03_media/ws-run1-C5D8B [2026-03-18 2:12 a.m.] mithro_ If anyone has time, I could also use some help reviewing the update to the wafer.space website - https://preview.wafer.space/pr-78/ -- It's a pretty big update and I'm not sure I haven't missed something silly. {Embed} https://preview.wafer.space/pr-78/ wafer.space - Budget silicon manufacturing. Create integrated circuits without breaking the bank! {Reactions} 👍 [2026-03-19 9:53 p.m.] gfcwfzkm 4$ per chip on such a low volume seems so crazy (in a good way!) {Reactions} waferspace [2026-03-19 9:53 p.m.] gfcwfzkm Very impressive [2026-03-19 10:06 p.m.] dnaltews The $4K half-size options are tempting (starting to fall inside my budget for "big hobby project / experiment"). Makes me want to find some time to play with the PDK and get a feel for the tools and maybe start exploring a project for the next run. [2026-03-19 10:11 p.m.] gfcwfzkm My analog prof has been looking for an excuse to try out GF180MCU for some analog projects. That might be the little push / excuse to try it out for him 😄 {Reactions} 💜 [2026-03-20 9:53 a.m.] mithro_ For the bit serial fans -> https://arxiv.org/pdf/2603.14988 [2026-03-20 9:54 a.m.] mithro_ My goal is to figure out how to get to ~$1 USD per die packaged -- still a long way to go. [2026-03-20 10:09 a.m.] tholin Ah, this reminds me I wanted to start work on my automatic multi-project die configurator [2026-03-20 11:54 a.m.] tholin Started a thread. [2026-03-20 12:25 p.m.] tholin I also really want to create a bidir IO pad that is fast at 3.3V so I can finally make use of my custom SCL [2026-03-20 1:46 p.m.] rtimothyedwards_19428 @Tholin : I will be able to get measured results from my dual-voltage pads, and your standard cells, from my chips on the first run. What speed are you hoping to achieve? [2026-03-20 1:46 p.m.] tholin The 5V pads max out before 15MHz when ran at 3.3V, so anything faster is an improvement. [2026-03-20 1:47 p.m.] tholin I measured rise and fall times equivalent to 12.5MHz, I think [2026-03-20 1:48 p.m.] tholin The 5V standard cells can actually go quite fast at 3.3V. Caravel had no problem running at 40MHz. The IO pads are the bottleneck. [2026-03-20 1:48 p.m.] rtimothyedwards_19428 @Pazzy : I am also interested in analog on GF180MCU. I am currently working on a shared-project frame and infrastructure for IHP, and would like to do the same for GF180MCU. How many projects would your professor expect to put on a chip? The frame I'm doing for IHP is similar to the one I did for sky130, which has room for about 12 to 14 projects, each with its own power supply and biases. [2026-03-20 1:49 p.m.] tholin (If the 5V cells with their big transistors can hit 50MHz, I am so excited to find out what my 3.3V cells can achieve) [2026-03-20 1:51 p.m.] rtimothyedwards_19428 @Tholin : My pads should be much faster than 5V pads running at 3.3V, although the external voltage will still be 5V. I may need to tweak the level shifter design for better speed; I didn't spend a lot of time analyzing it because at the time I was rather busy with the 3.3V SRAM layouts. Maybe for the next run I can do a set of all-3.3V pads, but if you're planning to do it, that frees me up for other useful things, like analog.. [2026-03-20 1:52 p.m.] tholin Can you try getting me numbers on how your pads perform with the IO voltage also being 3.3V? [2026-03-20 1:52 p.m.] tholin I actually really don’t want to have to make 3.3V pads myself, since I also want to make other useful things, like analog [2026-03-20 1:53 p.m.] tholin I want to create a pad that has my digital-to-analog converter built in. 12 digital lines go in, one analog voltage appears on the pad. [2026-03-20 1:54 p.m.] tholin I think I can make it fit [2026-03-20 1:57 p.m.] tholin Making a 3.3V digital GPIO pad might be good practice, though [2026-03-20 1:59 p.m.] tholin Actually, since you’ve created a custom GPIO pad, do you have a template for a blank pad structure? One that has just the upper metal layers, pad, transistors beneath the pad and ESD protection diodes, ready to have the specific circuitry for the pad’s function drawn in? [2026-03-20 2:02 p.m.] tholin If you can get me that, I’ll make the rest of the 3.3V GPIO pad (I can adjust the transistors beneath the pad myself too) [2026-03-20 2:52 p.m.] 246tnt AFAIK Tim modified the existing pads, he didn't start from scratch. [2026-03-20 3:15 p.m.] rtimothyedwards_19428 Yes, that's right. I just disassembled the schematic and layout, separated out the core-facing buffers in each direction, and replaced them with level shifters. It required a bit of layout re-work but it is still largely the same layout as the original. The problem with converting the pad cells to all 3.3V is that the ESD devices and the clamps are all designed for 5V and will have to be carefully redesigned, and like all such things, they can only really be validated by zap testing. [2026-03-20 3:18 p.m.] tholin I tried looking at the GF IO library files and its apparent to me that making those usable will require a bunch of re-work, yeah [2026-03-20 3:18 p.m.] tholin Which is what I’ve actually been dreading [2026-03-20 3:20 p.m.] rtimothyedwards_19428 I can take a stab at it. These days most board-level systems run at 3.3V and it's getting harder to find 5V-compatible components, so I think a pure 3.3V I/O cell set would be very welcome. {Reactions} 👍 [2026-03-20 3:31 p.m.] tholin I’d still appreciate a blank template for me to build my DAC pad, thought I am slowly realizing I can probably create it myself from your pad layouts. [2026-03-20 5:31 p.m.] 246tnt Quick spice sim of @Tim Edwards pad show the bi24_t toggling decently at 50 MHz at 3.3V. [2026-03-20 5:33 p.m.] 246tnt ~3.3 ns rise time ( 10-90% ) at 30 pF load. That's better than the sky130 pads do 😅 [2026-03-20 5:37 p.m.] 246tnt ( and for comparison about ~2.5 ns rise time at 5V ) [2026-03-20 6:08 p.m.] 246tnt Mmm, I wasn't using the latest stuff for gf180 but using the latest stuff I can't sim, I get an error 😅 [2026-03-20 7:17 p.m.] rtimothyedwards_19428 See my message on fossi-chat; there's an error in the schematic for the bi_24t cell. [2026-03-20 9:23 p.m.] 246tnt Results using the latest stuff : 3.3V : ``` t_rise = 2.522358e-09 t_fall = 1.960298e-09 tdo_rise = 3.608585e-09 tdo_fall = 3.675327e-09 tdi_rise = 1.191578e-09 tdi_fall = 1.932958e-09 ``` 5V ``` t_rise = 1.748877e-09 t_fall = 1.473875e-09 tdo_rise = 2.758279e-09 tdo_fall = 2.741741e-09 tdi_rise = 6.098016e-10 tdi_fall = 1.364941e-09 ``` * `t_{rise,fall}` are the rise/fall time at the output to a 30 pF load, measured 10-90% * `tdo_{rise,fall}` are the output delay ( from `A` input crossing 50% to `PAD` output crossing 50% * `tdi_{rise_fall}` are the input delay ( from `PAD` crossing 50% to `Y` ouptut crossing 50% [2026-03-20 9:34 p.m.] 246tnt The 700 ps asymmetry on rising / falling edge on the input path is a bit surprising. But other than that, I think it's pretty good. [2026-03-20 11:17 p.m.] crockpotveggies is this an accurate representation of the die size? {Attachments} 2026-03_media/AOI_d_9rogC4gTzeB8U06CwEmhbXPVBxqgKN9OZWwb-7F26F.png [2026-03-21 2:23 a.m.] mithro_ https://mbalestrini.github.io/chip_images/ might help? {Reactions} ❤️ [2026-03-21 5:04 a.m.] chaask looking at comparison, there is one difference that i observe. gf180 has a much larger pad frame than sky 130, can anyone tell me why [2026-03-21 5:59 a.m.] 246tnt Sky130 is a smaller node and the sky130 pad are also quite packed. They also have "stuff" underneath the bond pad itself which gf180mcu doesn't. {Reactions} 👍 [2026-03-21 8:09 a.m.] 246tnt @Tholin I'm curious how your measurements of the IO were made. I'm assuming on GFMPW-1 chips ? Looking at the caravel they're using the programmable drive pads and they are by default configured to the weakest 4 mA drive. I also looked at your multi project gfmpw-1 repo on github and you seem to be using the same as the caravel defaults so IO also configured for weakest drive. [2026-03-21 8:34 a.m.] 246tnt Ran some simulation using the `bi_t` pads with min drive strength and I can reproduce (within +- 5%) the results from htamas measurement on gfmpw-1. I think at the time, we also didn't realize the programmable strength and left it at default too. Changing the drive strength from min to max goes from 9 ns rise time down to less than 2 ns in sim ... {Reactions} 💯 [2026-03-22 7:31 a.m.] 246tnt FWIW, @htamas made new measurement and confirmed that at max drive strength, you get fall/rise time of 2.3~3.3 ns ( and this is measured with a 100 MHz scope so the bw limit of the scope is non negligible and we're probably in the <2 ns range of the sim ). [2026-03-23 3:19 a.m.] mithro_ BTW @bunnie has some interesting thoughts about the RPi PIO and how an open source implementation should work at https://www.crowdsupply.com/baochip/dabao/updates/bio-the-bao-i-o-co-processor I would love to see what a bio might look like on GF180MCU where a bunch of the tradeoffs are different. {Embed} https://www.crowdsupply.com/baochip/dabao/updates/bio-the-bao-i-o-co-processor BIO - The Bao I/O Co-Processor BIO is the I/O co-processor in the Baochip-1x. In this update, I’ll talk about the origins of the BIO, starting by working through a detailed study of the Raspberry Pi PIO as a reference before diving into the architecture of the BIO. 2026-03_media/pio-path-report_png_project-main-D78A6.jpg [2026-03-23 3:20 a.m.] mithro_ @RebelMike / @clever - I'd be interested in your thoughts. [2026-03-23 3:21 a.m.] clever_____ i do have some comments on how to RE PIO better [2026-03-23 3:22 a.m.] clever_____ basically, if you set the state machine divisor really high, and hit the clockdiv reset bit, it will execute 1 PIO opcode, and then wait a large number of clocks, allowing you to turn execution off [2026-03-23 3:22 a.m.] clever_____ with that, you can single-step the PIO [2026-03-23 3:22 a.m.] mithro_ @Greg - Think that a serv based BIO might make sense for very low resource (but slow) version? What @bunnie did with the special registers fifo stuff might make sense for a multi-serv design? {Reactions} 👍 [2026-03-23 3:23 a.m.] clever_____ then there is a debug register, that tells you what direction/level PIO wants the pin to be in, even if you didnt pinmux it right so you can query the output as you single-step [2026-03-23 3:23 a.m.] clever_____ and if you mux a pin as gpio out, you can drive it, and then PIO input will sense that level [2026-03-23 3:23 a.m.] clever_____ so you can feed it dummy inputs, as you single-step [2026-03-23 3:24 a.m.] clever_____ and i think the execute register, will force-execute an opcode on write, even if its disabled so you can force it to push x/y to the fifo and such [2026-03-23 3:24 a.m.] mithro_ I've had Claude working on https://github.com/mithro/rpi5-rp1-pio-bench -- I'm not super happy with the somewhat random mess it has made but it is at least more than I would have been able to do myself given current time constraints. {Embed} https://github.com/mithro/rpi5-rp1-pio-bench GitHub - mithro/rpi5-rp1-pio-bench: RP1 PIO benchmarking tool for R... RP1 PIO benchmarking tool for Raspberry Pi 5 host-to-PIO data transfer performance - mithro/rpi5-rp1-pio-bench 2026-03_media/rpi5-rp1-pio-bench-FFF1B [2026-03-23 3:24 a.m.] clever_____ combine all of those together, and you can run some sample code on a real pico, playback a series of pin inputs, and record the pin/fifo outputs [2026-03-23 3:25 a.m.] clever_____ then you have testcase data, that you can apply to verilog simulators [2026-03-23 3:26 a.m.] clever_____ but its late here and i need to get to bed, ping me tomorrow and we can chat more [2026-03-23 3:28 a.m.] mithro_ @clever - Sure! I'm somewhat more interested in an open standard like what bunnie is proposing, but given that the PIO blocks are out there, understanding them well is probably a worthwhile task. [2026-03-23 3:28 a.m.] clever_____ i can also see value in making some configurable verilog, so you can change anything you want [2026-03-23 3:28 a.m.] clever_____ make X have more bits, or add more opcode slots [2026-03-23 3:29 a.m.] clever_____ but i can also see how it might right into copyright issues? if your able to run PIO code un-altered [2026-03-23 4:32 a.m.] bunnievorpal I think if you can spend more effort on back-end and timing closure you could go with a more performant RV32 core. The PicoRV32 was chosen because i had basically one pass through the backend to meet timing at 700MHz or the project would be cut - I didn't want to take any risk on timing closure on the design side. This means you pay a high price in terms of CPI. Even a modest amount of pipelining would improve the CPI by several-fold, which can compensate for reduced frequency in GF180, plus if you have control over the back-end and can do multiple passes of optimization to improve the critical path... [2026-03-23 4:33 a.m.] bunnievorpal The core-count is something you can directly scale based on how much area you have, i.e. there's still lots of useful things you can do with one or two BIO cores. [2026-03-23 9:05 a.m.] rebelmike I think BIO looks great! Using RV32E + high registers for access to GPIOs and FIFOs is genius. As bunnie says it would be good to get higher CPI, and I think including the B extension would make sense given the kind of work the core will be doing. I might start from FemtoRV, the smallest version can do 2 CPI for most instructions - though I suspect PicoRV has a higher fmax. If I was doing an implementation for gf180, I’d use two SRAM blocks for instruction memory, to give 16 bit access per clock, matching 2 CPI - I already have a wrapper around FemtoRV that does this for my RV4028 project. Only 13 registers are needed (gp and tp can be dropped like TinyQV does) so those can be implemented in latches. [2026-03-23 9:07 a.m.] rebelmike Would be cool to make a SoC with 2 or 4 of those plus maybe Hazard3 as the big core! [2026-03-23 1:06 p.m.] rebelmike Does BIO use the top of the instruction memory for the processors stack? Regardless, I think that would make sense for this implementation, and would mean ra and sp could be restricted width as they only need to address that small RAM block (and they should always be word aligned). That still leaves 11 general purpose registers and should keep C compatibility. [2026-03-23 8:51 p.m.] clever_____ i think the main design goal of PIO was to get 1 clock/instruction, and no delays due to loads, so it could emit a bit on every clock, at full 400mhz [2026-03-23 9:15 p.m.] clever_____ and also low gate count [2026-03-24 4:35 a.m.] nmz787 @Tim 'mithro' Ansell so for a whole undiced wafer on crowdsupply I need to select full slot? [2026-03-24 4:35 a.m.] nmz787 Also is passing DRC strictly required to tapeout? Is there any waiver system? (For example making smaller than design rule pad sizes) [2026-03-24 4:35 a.m.] mithro_ You need to have a slot on the run. The wafer has your design plus everyone elses design. Not just your own design. [2026-03-24 4:37 a.m.] nmz787 Yes, so is it $7000 now (early bird bare dies) plus $2000 later? [2026-03-24 4:58 a.m.] mithro_ @nmz787 - You can purchase any slot size, a half slot would be fine -- just have to have *something* on the wafer. The per-wafer price is up front too. [2026-03-24 4:59 a.m.] mithro_ Oh - It seems you are pointing out that the wafers are not listed on the crowd supply site? [2026-03-24 4:59 a.m.] nmz787 Ok,i don't see the wafer option on crowdsupply purchase option drop downs [2026-03-24 5:01 a.m.] mithro_ Yeap, it seems that forgot to be added and nobody noticed in review 🙂 [2026-03-24 5:02 a.m.] mithro_ @nmz787 - I expect it will either be added in the next hour or tomorrow morning US/Pacific time (The person who can change that info is in US/Pacific timezone). {Reactions} 👍 [2026-03-24 5:03 a.m.] bunnievorpal yes, the stack is typically at the top of instruction memory. It's whereever you want to place the SP, but by convention that's where it goes. {Reactions} 👍 [2026-03-24 5:03 a.m.] nmz787 This is also of great interest, since my aim is to post process and reducing capacitance of analog inputs is a big goal. [2026-03-24 5:12 a.m.] mithro_ @RebelMike - You thinking TinyQV-BIO? 😛 [2026-03-24 8:09 a.m.] rebelmike Not really - I think BIO makes most sense at low clocks per instruction so shouldn’t have a bit serial core. But I’m applying tricks from TinyQV to make it as small as possible, basically cutting down RV32E to the absolute minimum required for C support. Potentially as a test on Tiny Tapeout I might use TinyQV as the host, but the SoC would make more sense with a faster core. [2026-03-24 11:05 a.m.] ravenslofty I need to work on my RV core more >.< [2026-03-24 2:21 p.m.] 246tnt spam ... [2026-03-24 2:38 p.m.] mole99 Thanks! [2026-03-25 7:23 p.m.] mithro_ I'm off to Singapore today to manage the delivery, dicing and chip on board mounting of Run #1 silicon. {Reactions} 🎉 (7) 🥳 (2) waferspace [2026-03-25 7:40 p.m.] mithro_ I feel like the "real" interesting thing is more the register based synchronisation / queue stuff? [2026-03-25 8:59 p.m.] nmz787 isn't GF in upstate New York? [2026-03-25 9:00 p.m.] 246tnt GF is a little bit everywhere. [2026-03-25 9:00 p.m.] nmz787 I guess that's the G [2026-03-25 9:01 p.m.] 246tnt Yup. Here it's fab 3/5 I think. [2026-03-25 9:09 p.m.] mithro_ They have fabs in Germany, Singapore and the US. [2026-03-25 9:11 p.m.] mithro_ Each fab has a different set of process technologies and there is no process technology which can be manufactured at all locations - there are a **very** limited number of process techs that can be manufactured at two different locations. [2026-03-25 9:13 p.m.] mithro_ Plane is taxiing! Talk to everyone later! [2026-03-25 9:18 p.m.] polyfractal amusingly I've lived next to two different GF facilities (the one north of Troy, NY, and the one in Essex, VT) [2026-03-25 9:18 p.m.] polyfractal Safe journey! Take lots of photos for us (if you can) 🙂 [2026-03-25 10:06 p.m.] rebelmike True - but on the assumption this is running small programs that can fit in on chip SRAM, being limited to 8 or 16 clocks per instruction would be a shame (whereas when you're running direct from flash it's roughly on parity with the memory bandwidth). So I think it would be more interesting to focus on something that works well with that. I was thinking about the quantum stall. I think it would be better to choose the quantum (clock or triggered on a GPIO state/edge) on the basis of the value written to the register - a wide enough range of values can be generated with a single add immediate instruction so this wouldn't cost any instructions, and would make the trigger be defined in the program (and potentially could vary throughout the program) instead of having to be configured by the host [2026-03-26 3:01 a.m.] mithro_ Given a limited set of time, I think that sounds reasonable 🙂 ============================================================== Exported 125 message(s) ==============================================================